package futbol.tacticas.concursantes2007.La_Enmascarada;

import futbol.tacticas.concursantes.Tactica;

import java.awt.Color;
import java.util.Vector;

import futbol.tacticas.Comando;
import futbol.tacticas.SituacionJugadores;

public class La_Enmascarada extends TacticaSilviaI implements Tactica
{

  //---------------------------------------------//
  // ATRIBUTOS
  //---------------------------------------------//
	
  //---------------------------------------------//
	/*
	 * Definicin de las Tcticas
	 */
  private TacticaSilviaN tacticaNormal;
// TODO: Implementar las tcticas adecuadas  

  
  /*
   * Tctica Actual
   */
  private TacticaSilviaI tacticaActual;

    
  //---------------------------------------------//
	// CONSTRUCTOR
  //---------------------------------------------//
	
  //---------------------------------------------//
	/*
	 * CONSTRUCTOR
	 */
  public La_Enmascarada()
  {
    super();
    
    this.tacticaNormal = new TacticaSilviaN();

    this.tacticaActual = this.tacticaNormal;
    this.cambioTacticaLastTactica = CHECK_TACTICA_NORMAL;
// debug    
//this.tacticaActual = this.tacticaDefensa;
//this.cambioTacticaLastTactica = CHECK_TACTICA_DEFENSA;
//this.tacticaActual = this.tacticaAtaque;
//this.cambioTacticaLastTactica = CHECK_TACTICA_ATAQUE;
    this.cambioTacticaNextCheckJugada = 600;
    this.cambioTacticaLastJugada = 0;
    this.cambioTacticaLastTanteoGanando = 0;

// Debug
//Comando.DEBUG_SHOW_COMMANDS = false;
  }
    
  //---------------------------------------------//
  // MTODOS DE LA INTERFAZ
  //---------------------------------------------//
  
  //------------------------------------------------------//
  public String getNombre()
  {
    return "La_Enmascarada";
  }
  
  //------------------------------------------------------//
  public Color getColor1()
  {
    return new Color(155, 0, 155);
  }
  
  //------------------------------------------------------//
  public Color getColor2()
  {
    return new Color(125, 0, 125);
  }
  
  //------------------------------------------------------//
  public Color getColorNumero()
  {
    return Color.yellow;
  }
  
  //------------------------------------------------------//
  public int getFuerza(int n)
  {
    return this.tacticaActual.getFuerzaJugadores(n);
  }
  
  //------------------------------------------------------//
  /**
   * Devuelve la coordenada inicial X de los jugadores.
   */
  public int getXInicial(int n)
  {
    return this.tacticaActual.getXInicial(n);
  }
  
  //------------------------------------------------------//
  /**
   * Devuelve la coordenada inicial Y de los jugadores.
   */
  public int getYInicial(int n)
  {
    return this.tacticaActual.getYInicial(n);
  }
  
  //------------------------------------------------------//
  /**
   * Mtodo Principal de la Tctica
   */
  public Vector<Comando> getComandos(SituacionJugadores sj)
  {
long iniTime = System.currentTimeMillis();
    
    //---------------------------//
    // Aadir Eurstica sobre el Resultado y Tiempo de partido //
    //---------------------------//
    int tactica = checkPartido(sj);
//    if (tactica == CHECK_TACTICA_NORMAL)
//      this.tacticaActual = this.tacticaNormal;
//    else if (tactica == CHECK_TACTICA_DEFENSA)
//      this.tacticaActual = this.tacticaDefensa;
//    else if (tactica == CHECK_TACTICA_ATAQUE)
//      this.tacticaActual = this.tacticaAtaque;
//    if (oldTactica != this.tacticaActual)
//    {
//if (DEBUG)
//  this.printInfoPartido("TACTICA CAMBIADA : NEW = "+this.tacticaActual.getNombre()+"\t  OLD = "+oldTactica.getNombre());
//    }
    
    
    Vector<Comando> comandos = new Vector<Comando>();

    comandos = this.tacticaActual.gCs(this.numJugada, sj);

if (SHOW_TURN_TIME)
  printInfoPartido("Tiempo de Turno = "+(System.currentTimeMillis()-iniTime));

    return comandos;
  }
  
  //---------------------------------------------//
  // MTODOS AUXILIARES
  //---------------------------------------------//
  
  
}
